import Request from '@/js_sdk/luch-request/luch-request/index.js'
export const http = new Request();

http.setConfig((config) => {
	// config.baseURL = 'http://api.peixun198.com' /* 根域名 */
	config.baseURL = 'http://api.qiananquang.com' /* 根域名 */
	// config.baseURL = 'http://38.181.25.96:8080' /* 根域名 */
	config.custom = {
		loading: true // 默认有loading
	}
	return config
})

http.interceptors.request.use((config) => { /* 请求之前拦截器。可以使用async await 做异步操作 */
	const token = uni.getStorageSync('token')
	if(token){
		config.header = {
			...config.header,
			authorization: token
		}
	}
	return config
}, (config) => {
	return Promise.reject(config)
})


http.interceptors.response.use(async (response) => { /* 请求之后拦截器。可以使用async await 做异步操作  */
	switch(response.data.code) {
		case 200:
			return response.data
		break
		case 500:
			uni.showToast({
				icon: 'none',
				title: response.data.message
			})
			 return Promise.reject(response)
		 break
		 case 401:
		 uni.hideLoading()
		const source =  uni.getStorageSync('source')
		 uni.clearStorageSync()
		 	uni.showToast({
		 		icon: 'error',
		 		title: '请重新登陆',
				mask:true,
				complete:()=>{
					uni.reLaunch({
						url:'/pages/login/login?source='+source
					})
				}
		 	})
		 	 return Promise.reject(response)
		  break
	}
	
	if (response.data.code !== 200) { // 服务端返回的状态码不等于200，则reject()
	console.log(response);
	  return Promise.reject(response)
	}
}, (response) => { // 请求错误做点什么。可以使用async await 做异步操作
	console.log(response)
	uni.clearStorageSync()
	// uni.showToast({
	// 	title:'登陆错误，请练习报考老师',
	// 	icon:'error',
	// 	duration:3000,
	// 	complete: () => {
	// 		uni.reLaunch({
	// 			url:'/pages/login/login'
	// 		})
	// 	}
	// })
	return Promise.reject(response)
})

